home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PWAPCP02.ZIP / TURBO110 / TURBO.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-11-15  |  3KB  |  230 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Integer  INTEGER001
  23.     String   STRING001
  24.     String   STRING002
  25.     String   STRING003
  26.     String   STRING004
  27.     String   STRING005
  28.     String   STRING006
  29.     String   STRING007
  30.     String   STRING008
  31.     String   STRING010
  32.     Int      INT001
  33.     Int      INT002
  34.     Int      INT003
  35.     Int      INT004
  36.     Declare  Function FUNCTION001(String STRING009) Boolean
  37.     Declare  Procedure PROC001()
  38.     Declare  Procedure PROC002(Int INT005, Int INT006, Int INT007)
  39.  
  40. ;------------------------------------------------------------------------------
  41.  
  42.     STRING001 = ReadLine(PCBDat(), 94)
  43.     INTEGER001 = Len(STRING001) / 12
  44.     STRING002 = String(Asc(Mid(STRING001, INTEGER001, 3))) + String(Asc(Right(STRING001, 3))) + String(Asc(Mid(STRING001, 8, 9)))
  45.     FOpen 1, PPEPath() + "KEY.CFG", 0, 0
  46.     FGet 1, STRING003
  47.     FClose 1
  48.     PROC001()
  49.     BOOLEAN001 = FUNCTION001(ReadLine(STRING004, 8))
  50.     If (BOOLEAN001 == 0) Then
  51.         Goto LABEL001
  52.     Endif
  53.     End
  54.  
  55. ;------------------------------------------------------------------------------
  56.  
  57.     Function FUNCTION001(String STRING009) Boolean
  58.  
  59.     String   STRING010
  60.     Int      INT002
  61.     Int      INT003
  62.     Int      INT004
  63.     Boolean  BOOLEAN003
  64.     Int      INT005
  65.  
  66.     Print STRING009
  67.     INT002 = GetX()
  68.     Print STRING005 + Space(INT001)
  69.     INT003 = GetX()
  70.     Print STRING007
  71.     INT004 = 1
  72.     PROC002(INT004, INT002, INT003)
  73.     BOOLEAN003 = 0
  74.     While (BOOLEAN003 == 0) Do
  75.         STRING010 = Asc(Inkey())
  76.         If (STRING010 == 13) Then
  77.             BOOLEAN003 = 1
  78.             Continue
  79.         Endif
  80.         If (((STRING010 == 76) || (STRING010 == 68)) || (STRING010 == 44)) Then
  81.             Dec INT004
  82.             If (INT004 < 1) INT004 = 2
  83.             PROC002(INT004, INT002, INT003)
  84.             Continue
  85.         Endif
  86.         If (((STRING010 == 82) || (STRING010 == 85)) || (STRING010 == 46)) Then
  87.             Inc INT004
  88.             If (INT004 > 2) INT004 = 1
  89.             PROC002(INT004, INT002, INT003)
  90.             Continue
  91.         Endif
  92.         If ((STRING010 == 89) || (STRING010 == 121)) Then
  93.             INT004 = 2
  94.             PROC002(INT004, INT002, INT003)
  95.             BOOLEAN003 = 1
  96.             Continue
  97.         Endif
  98.         If ((STRING010 == 78) || (STRING010 == 110)) Then
  99.             INT004 = 1
  100.             PROC002(INT004, INT002, INT003)
  101.             BOOLEAN003 = 1
  102.         Endif
  103.     EndWhile
  104.     Newline
  105.     If (INT004 == 1) Then
  106.         FUNCTION001 = 0
  107.     Else
  108.         FUNCTION001 = 1
  109.         DispFile PPEPath() + "FAST", CurSec()
  110.     Endif
  111.  
  112.     EndFunc
  113.  
  114.  
  115. ;------------------------------------------------------------------------------
  116.  
  117.     Procedure PROC002(Int INT005, Int INT006, Int INT007)
  118.  
  119.     Select Case (INT005)
  120.         Case 2
  121.             Print Chr(13)
  122.             Forward INT006 - 1
  123.             Print STRING005
  124.             Print Chr(13)
  125.             Forward INT007 - 1
  126.             Print STRING008
  127.         Case 1
  128.             Print Chr(13)
  129.             Forward INT007 - 1
  130.             Print STRING007
  131.             Print Chr(13)
  132.             Forward INT006 - 1
  133.             Print STRING006
  134.     End Select
  135.  
  136.     EndProc
  137.  
  138.  
  139. ;------------------------------------------------------------------------------
  140.  
  141.     Procedure PROC001()
  142.  
  143.     GetUser
  144.     STRING004 = PPEPath() + "TURBO.CFG"
  145.     INT001 = S2I(ReadLine(STRING004, 3), 10)
  146.     STRING005 = ReadLine(STRING004, 4)
  147.     STRING006 = ReadLine(STRING004, 5)
  148.     STRING007 = ReadLine(STRING004, 6)
  149.     STRING008 = ReadLine(STRING004, 7)
  150.  
  151.     EndProc
  152.  
  153.     :LABEL001
  154.     Newline
  155.     DispFile PPEPath() + "SLOW", CurSec()
  156.     End
  157.  
  158. ;------------------------------------------------------------------------------
  159. ;
  160. ; Usage report (before postprocessing)
  161. ;
  162. ; ■ Statements used :
  163. ;
  164. ;    2       End
  165. ;    20      Goto 
  166. ;    24      Let 
  167. ;    11      Print 
  168. ;    12      If 
  169. ;    2       DispFile 
  170. ;    1       FOpen 
  171. ;    1       FClose 
  172. ;    1       FGet 
  173. ;    1       GetUser
  174. ;    1       Inc 
  175. ;    1       Dec 
  176. ;    2       Newline
  177. ;    4       Forward 
  178. ;    2       EndProc
  179. ;    1       EndFunc
  180. ;
  181. ;
  182. ; ■ Functions used :
  183. ;
  184. ;    1       /
  185. ;    7       +
  186. ;    4       -
  187. ;    16      ==
  188. ;    1       <
  189. ;    1       >
  190. ;    10      !
  191. ;    6       ||
  192. ;    1       Len(
  193. ;    2       Mid()
  194. ;    1       Right()
  195. ;    1       Space()
  196. ;    4       Chr()
  197. ;    4       Asc()
  198. ;    1       Inkey()
  199. ;    3       String()
  200. ;    1       PCBDat()
  201. ;    4       PPEPath()
  202. ;    7       ReadLine()
  203. ;    2       CurSec()
  204. ;    1       S2I()
  205. ;    2       GetX()
  206. ;
  207. ;------------------------------------------------------------------------------
  208. ;
  209. ; Analysis flags : d
  210. ;
  211. ; d - Access PCBOARD.DAT ■ 2
  212. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  213. ;     for many PPE so they can find various informations on the system
  214. ;     (system paths, max number of lines in messages, ...) but it may also
  215. ;     be a way to gather vital informations.
  216. ;     ■ Search for : PCBDAT()
  217. ;
  218. ;------------------------------------------------------------------------------
  219. ;
  220. ; Postprocessing report
  221. ;
  222. ;    0       For/Next
  223. ;    1       While/EndWhile
  224. ;    7       If/Then or If/Then/Else
  225. ;    1       Select Case
  226. ;
  227. ;------------------------------------------------------------------------------
  228. ;                 AEGiS Corp - Break the routines, code against the machines!
  229. ;------------------------------------------------------------------------------
  230.